A blending surface, or blend, is a smooth transitional surface between a plurality of combined geometric primitive shapes. In geometric modeling systems, a form of a computer-aided design system, primitive shapes are combined by the use of Boolean set operations, e.g. union, intersection and difference, to construct more complex geometric objects for graphic display or manufacture. For example, a designer using a geometric modeler and simple geometric primitive shapes such as spheres, toroids, and cylinders can create a graphic display or a tape for controlling a milling machine to produce complex geometric objects such as automobile engine parts, tools, or molds. Useful analysis may also be performed in relation to objects.
In geometric modeling systems a need exists for blends, especially those created between a plurality of geometric primitive shapes including those using other blended surfaces as geometric primitive shapes. Such blends are essential in many areas of design and manufacturing. For example, blends are important in mechanical design for several reasons including dissipating stress concentrations, enhancing fluid flow and improving esthetics.
To consider detailed examples, certain manufacturing processes are incompatible with sharp edges and corners. Specifically, in a high pressure injection mold, sharp interior edges and corners define weak points. Under the high pressure of injected molding material, the mold may fracture due to the stresses at unblended edges and corners. Consequently, the capability to design a mold with blended surfaces is important in providing structure to withstand the stresses induced by a high pressure molding material.
In another application, blended surfaces can be used to smooth out harsh edges or create smooth surfaces in objects operating in fluid environments or can be used to create more useful or attractive contoured shapes. In any event, a need exists for an effective, economical geometric modeling system capable of generating blending surfaces.
Generally, the utility of a computer-aided design system is related to the complexity of objects it can model. Geometric modeling systems generate graphic displays and other modeling operations of complex geometric objects for use in industrial design and manufacturing. Conventional geometric modeling systems are somewhat limited in their ability to blend a plurality of geometric primitive shapes, a procedure that may involve generating blends on blends. In this regard, an article, "Blending Surfaces in Solid Modeling" by Alyn P. Rockwood and John C. Owen, Geometric Modeling; Algorithms and New Trends, at 367 to 383 (G. Farin ed. 1987), considers a method for generating simple blends between previously unblended geometric primitive shapes. The article also mentions a conceptual framework for generating blends on blends. Neither the article nor other known art fully addresses the problem of blends on blends. Yet such blends are important in blending a plurality of geometric primitive shapes. Consequently, the problem of blends on blends has been a limiting factor in the development and utility of traditional geometric modeling systems for some applications.
In general, the present invention enables a user to create a blending surface between a plurality of geometric primitive shapes. The blending surface is generated substantially in accordance with user selections for graphic display. More specifically, the present invention comprises a computer graphics system capable of generating a graphic display or production of a blending surface between a plurality of geometric primitive shapes including blends. Also, analysis may also be accomplished in relation to models. An interactive terminal controls a geometric modeler to generate and modify visual graphic displays of primitive geometric shapes at the display screen of the interactive terminal. Logic structure, in accordance with the present invention, generates a blending surface between a plurality of geometric primitive shapes substantially in accordance with user selections. A memory, registers and gates are provided in the system for data storage and management.